home *** CD-ROM | disk | FTP | other *** search
- /*
- * SetFilePanel.h - 'SetFile Panel' Drop-In Preferences
- *
- * Copyright © 1995 metrowerks inc. All rights reserved.
- *
- */
-
- #ifndef _H_SetFilePanel
- #define _H_SetFilePanel
-
- #ifndef __TYPES__
- # include <Types.h>
- #endif
-
-
- #pragma options align=mac68k
-
-
- /* this is the name of the panel, as shown in the Finder */
- #define kSetFilePanelName "Finder Flags Panel"
-
-
- /*
- * AppleScript dictionary info. As a rule of thumb, dropin panels should use the
- * same terminology and numeric code in their 'aete' that the IDE uses if there
- * is already a similar item in the IDE's 'aete'. That is the case here, so we
- * merely duplicate applicable 68K Project and 68K Linker user terms below.
- */
-
- enum {
- /* Symbolic Name Code AETE Terminology */
- class_SetFile = 'SetF',
-
- prefsPR_ProjectType = 'PR01', /* Project Type */
- prefsPR_FileName = 'PR02', /* File Name */
- prefsLN_GenerateSymFile = 'LN02', /* Generate SYM File */
-
- /* enumeration for project type */
- enumeration_ProjectType = 'PRPT',
- enum_Project_Application = 'PRPA', /* application */
- enum_Project_Library = 'PRPL', /* library */
- enum_Project_SharedLibrary = 'PRPS', /* shared library */
- enum_Project_CodeResource = 'PRPC', /* code resource */
- enum_Project_MPWTool = 'PRPM' /* MPW tool */
- };
-
-
- /* internal codes for project type */
- enum {
- kProjTypeApplication,
- kProjTypeLibrary,
- kProjTypeSharedLib,
- kProjTypeCodeResource,
- kProjTypeMPWTool
- };
-
-
- /* This is the structure that is manipulated by the panel. The setfile
- * compiler & linker both "know" about this structure.
- */
-
- typedef struct FlagBits {
- UInt16 alias : 1;
- UInt16 invisible : 1;
- UInt16 bundle : 1;
- UInt16 system : 1;
- UInt16 stationary : 1;
- UInt16 customIcon : 1;
- UInt16 rsvd0x0200 : 1;
- UInt16 inited : 1;
- UInt16 noinits : 1;
- UInt16 shared : 1;
- UInt16 rsvd0x003e : 5;
- UInt16 onDesk : 1;
- } FlagBits;
- #define validAttrBits (kIsOnDesk | kIsShared | kHasNoINITs | kHasBeenInited | kHasCustomIcon | kIsStationery | kNameLocked | kHasBundle | kIsInvisible | kIsAlias)
-
- typedef struct XFlagBits {
- UInt16 rsvd0xFE00 : 7;
- UInt16 badge : 1;
- UInt16 rsvd0x00F8 : 5;
- UInt16 routing : 1;
- UInt16 rsvd0x0003 : 2;
- } XFlagBits;
- #define validAttrXBits (kExtendedFlagHasCustomBadge | kExtendedFlagHasRoutingInfo)
-
- typedef struct SetFilePref {
- short version;
- UInt16 align1;
- UInt32 creator; /* version # of prefs data */
- UInt32 type; /* project type */
- Boolean lock;
- Boolean alwaysSwitch;
- UInt16 align2;
- union {
- FlagBits bits;
- UInt16 flags;
- };
- union {
- XFlagBits xbits;
- UInt16 xflags;
- };
- } SetFilePref, **SetFilePrefHandle;
-
-
- enum {
- kCreatorItem = 2,
- kTypeItem = 4,
- kAliasItem,
- kInvisibleItem,
- kBundleItem,
- kSystemItem,
- kStationaryItem,
- kCustomIconItem,
- kLockedItem,
- kInitedItem,
- kNoInitsItem,
- kSharedItem,
- kRoutingItem,
- kDeskTopItem,
- kBadgeItem
- };
- #pragma options align=reset
-
-
- #endif /* _H_SetFilePanel */
-